Indra Sudirman

This is just notes for me.



Membuat Titik Pemisah Untuk Angka Uang di Java dengan JFormattedTextField

IndraSudirman
Pada saat belajar Bahasa Pemrograman Java, banyak sekali yang membuat saya penasaran cara buat suatu fitur dengan Java. Salah satunya bagaimana caranya membuat titik pemisah untuk angka uang yang dimasukkan oleh user/pengguna aplikasi seperti ini 100.000 karena saya termasuk orang yang yakin aplikasi itu harus dibuat dengan sangat mudah digunakan oleh user/pengguna, tidak menyusahkan saat dipakai. Salah satunya ya seperti ini, membuat titik pemisah otomatis ketika user/pengguna memasukkan angka untuk uang, karena jika tidak dipisah user/pengguna akan cenderung memasukkan angka kurang atau kebanyakan, khususnya untuk angka 0 (nol).

Hasil membuat titik pemisah untuk uang

Titik Pemisah Uang

Sebelum mengetahui ada Class JFormattedTextField, saya menggunakan JTextField untuk mengambil input dari user tapi karena rasa ketidakpuasan saya, 😊 dan JTextField tidak bisa menformat untuk bilangan uang. Akhirnya saya mencari cara lain, sampai akhirnya saya menemukan pembahasan mengenai JFormattedTextField di stackoverflow. Kemudian saya memcari di Official Documentationnya di sini. Saya baru ternyata ada Class JFormattedTextField ini, tanpa harus mengakali dari JTextField seperti yang pertama saya temukan di link tadi.

Konstraktor Class JFormattedTextField ternyata dapat menerima argument Format atau NumberFormat. Class NumberFormat sebelumnya saya sudah mengetahui untuk mensetting bilangan uang berdasarkan lokal daerah. Jika ingin mendeklarasikan menjadi lokal Rupiah menjadi seperti ini :

JFormattedTextField inputNilaiUang = new JFormattedTextField(NumberFormat.getNumberInstance(new Locale("ID")));

ClassNumberFormat ini sebelumnya sudah saya ketahui dari Senior yang memberikan petunjuknya untuk kasus uang Rupiah. Langsung saja ke code/kodingannya, karena apa yang saya mau ingat ketika belajar tentang JFormattedTextField sudah saya tulis semua. Jadi seperti ini kodingannya :



Semoga berhasil bagi yang mencoba 😊, demikian note saya.

Terima kasih banyak untuk petunjuknya, om Yohanes.

Referensi :
https://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html
https://stackoverflow.com/questions/27293036/from-jtextfield-to-jformattedtextfield